package models

import "time"

type Test struct {
	ID        uint      `gorm:"primaryKey" json:"id"`
	Name      string    `json:"name"`                            //
	Age       uint      `json:"age"`                             //
	CreatedAt time.Time `json:"created_at" gorm:"type:datetime"` // 新增的创建时间字段
}

type TestCreateRequest struct {
	Name string `json:"name" binding:"required" example:"john_doe"`
	Age  uint   `json:"age" binding:"required" example:"12"`
}

// 通过 TableName() 方法指定表名
func (Test) TableName() string {
	return "xin_test" // 直接指定数据库中的表名
}

type TestTime time.Time

// 实现 MarshalJSON 方法，定义 JSON 序列化格式
func (t TestTime) MarshalJSON() ([]byte, error) {
	formatted := time.Time(t).Format("2006-01-02 15:04:05")
	return []byte(`"` + formatted + `"`), nil
}
